package wiki.beans;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.Logger;

import wiki.daos.AtrasadorDAO;

public class Defesa 
{
	private int id;
	private int codNoticia;
	private Atrasador idAtrasador;
	private String titulo;
	private String conteudo;
	private Calendar data;
	private boolean ativo;
	
	
	public Defesa()
	{
	}
	
	public Defesa(int id, int codNoticia, Atrasador codAtrasador, String titulo, String conteudo, String data, boolean ativo)
	{
		this.id = id;
		this.codNoticia = codNoticia;
		this.setIdAtrasador(codAtrasador);
		this.titulo = titulo;
		this.conteudo = conteudo;
		this.setData(data);
		this.ativo = ativo;
	}
	
	public Defesa(int id, int codNoticia, int codAtrasador, String titulo, String conteudo, String data, boolean ativo)
	{
		this.id = id;
		this.codNoticia = codNoticia;
		
		AtrasadorDAO atrasadorDAO = new AtrasadorDAO();
		this.setIdAtrasador(atrasadorDAO.buscar(getIdAtrasador()));
		this.titulo = titulo;
		this.conteudo = conteudo;
		this.setData(data);
		this.ativo = ativo;
	}
	
	
	public void setId(int id) {
		this.id = id;
	}
	
	public int getId() {
		return id;
	}

	public void setCodNoticia(int codNoticia) {
		this.codNoticia = codNoticia;
	}

	public int getCodNoticia() {
		return codNoticia;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setConteudo(String conteudo) {
		this.conteudo = conteudo;
	}

	public String getConteudo() {
		return conteudo;
	}
	
	public Calendar getData() {
		return data;
	}
	
	public String getDataFormatada()
	{
	    Date date = this.data.getTime();
	    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
	    return(sdf.format(date));
	}

	public void setData(Calendar data) {
		this.data = data;
	}
	
	public void setData(String data) 
	{
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
	    this.data = new GregorianCalendar();
	    try
	    {
	      this.data.setTime(sdf.parse(data));
	    } catch (ParseException ex)
	    {
	      Logger.getLogger(Defesa.class.getName()).log(Level.SEVERE, null, ex);
	    }
	}	

	public void setAtivo(boolean Ativo) {
		this.ativo = Ativo;
	}

	public boolean getAtivo() {
		return ativo;
	}

	public Atrasador getIdAtrasador() {
		return idAtrasador;
	}

	public void setIdAtrasador(Atrasador idAtrasador) {
		this.idAtrasador = idAtrasador;
	}

}
